Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

125
Visualizações
Cómo hacer Vue de "enlace bidireccional"

Tengo un componente secundario cuya función es cargar una foto. Foto cargada asignada a los datos del componente secundario denominado "foto". Necesito vincular datos principales llamados "archivo" con datos secundarios llamados "foto". Y cuando se cambia la "foto", el "archivo" también debe cambiarse.

Componente hijo:

 <template> <div class="select"> <img v-if="previewFile" :src="previewFile" alt="" /> <img v-else src="/images/empty.jpg" alt="" /> <label class="btn" for="image-upload">{{ btnLabel }}</label> <input id="image-upload" type="file" ref="file" @change="uploadFile" /> </div> </template> import { mapGetters } from "vuex"; export default { name: "SelectPhoto", data() { return { file: null, previewFile: null, }; }, methods: { uploadFile() { this.file = this.$refs.file.files[0]; } } }

Componente principal:

 <template> <SelectPhoto :btn-label="text.RU.photoSelect.choosePhoto" v-model:file.sync="file"/> <BaseButton :label="text.RU.photoSelect.knowName" @do="$emit('getResult', file, previewFile)" /> </template> <script> export default { data() { return { file: null, }; }, }; </script>

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Ya usó $emit en su componente BaseButton . También podría usarlo para this.file . En su componente hijo como este:

 uploadFile() { this.file = this.$refs.file.files[0]; this.$emit('sendMyFile', this.file) }

En su componente principal, para reaccionar a la acción:

 <SelectPhoto @sendMyFile="getMyFile" :btn-label="text.RU.photoSelect.choosePhoto" v-model:file.sync="file"/>

También en el componente principal, haga lo que quiera con the.file :

 methods: { getMyFile(file) { // do something } }
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda